package cn.bs.busuo.hotel.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
* 酒店订单表
* @TableName main_hotel_order
*/
@Data
@TableName("main_hotel_order")
public class HotelOrder implements Serializable {

    /**
    * 数据ID
    */
    @ApiModelProperty("数据ID")
    private Long id;
    /**
    * 用户ID
    */
    @ApiModelProperty("用户ID")
    private Long buyerId;
    /**
    * 用户名
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("用户名")
    private String buyerUsername;
    /**
    * 酒店ID
    */
    @ApiModelProperty("酒店ID")
    private Long hotelsId;
    /**
    * 房型ID
    */
    @ApiModelProperty("房型ID")
    private Long typeId;
    /**
    * 收货人
    */
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("收货人")
    @Length(max= 32,message="编码长度不能超过32")
    private String receiverName;
    /**
    * 收货电话
    */
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("收货电话")
    @Length(max= 32,message="编码长度不能超过32")
    private String receiverPhone;
    /**
    * 身份证
    */
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("身份证")
    @Length(max= 32,message="编码长度不能超过32")
    private String identity;
    /**
    * 使用日期开始
    */
    @ApiModelProperty("使用日期开始")
    private Date usingBegin;
    /**
    * 使用日期结束
    */
    @ApiModelProperty("使用日期结束")
    private Date usingEnd;
    /**
    * 预订数量
    */
    @ApiModelProperty("预订数量")
    private Integer hotelsNum;
    /**
    * 商品销售总价
    */
    @ApiModelProperty("商品销售总价")
    private BigDecimal totalPrice;
    /**
    * 订单状态:0=就绪, 1=待支付，2=已支付，待发货, 3=已发货/待收货，4=确认收货/已完成,5=取消支付或支付失败
    */
    @ApiModelProperty("订单状态:0=就绪, 1=待支付，2=已支付，待发货, 3=已发货/待收货，4=确认收货/已完成,5=取消支付或支付失败")
    private Integer orderState;
    /**
    * 支付时间
    */
    @ApiModelProperty("支付时间")
    private Date gmtPay;
    /**
    * 数据创建时间
    */
    @ApiModelProperty("数据创建时间")
    private Date gmtCreate;
    /**
    * 数据最后修改时间
    */
    @ApiModelProperty("数据最后修改时间")
    private Date gmtModified;



}
